import { EggAppConfig, EggAppInfo, PowerPartial } from "egg";
import * as pkg from "../package.json";

export default (appInfo: EggAppInfo) => {
  const config = {} as PowerPartial<EggAppConfig>;

  // override config from framework / plugin
  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + "_1631239249216_888";

  // add your egg config in here
  config.middleware = [];

  // add your special config in here
  const bizConfig = {
    sourceUrl: `https://github.com/eggjs/examples/tree/master/${appInfo.name}`
  };

  config.swaggerdoc = {
    dirScanner: "./app/controller", // 配置自动扫描的控制器路径。
    apiInfo: {
      title: pkg.name, // 接口文档的标题。
      description: "萤石云接入", // 接口文档描述。
      version: pkg.version // 接口文档版本。
    },
    schemes: ["http"], // 配置支持的协议。
    consumes: ["application/json"], // 指定处理请求的提交内容类型（Content-Type），例如application/json, text/html。
    produces: ["application/json"], // 指定返回的内容类型，仅当request请求头中的(Accept)类型中包含该指定类型才返回。
    securityDefinitions: {},
    enableSecurity: false, // 是否启用授权，默认 false（不启用）。
    routerMap: true, // 是否启用自动生成路由，默认 true (启用)。
    enable: true // 默认 true (启用)。
  };

  // the return config will combines to EggAppConfig
  return {
    ...config,
    ...bizConfig
  };
};
